Cobalt Strike是一款非常优秀的后渗透平台,基于Java。
日常的【渗透技巧】Cobalt Strike 学习,Cobalt Strike提供的UI界面,使得很多操作都很容易理解,所以使得很多操作变得更加的简单。
监听器
beacon1 | 是Cobalt Strike内嵌的监听器,也就是说,当在目标系统成功执行payload后, |
实战中尽可能使用dns,或者,不用IP而使用域名。
foreign1 | 提供给外部使用的一些监听器, |
使用powershell
第一种方式:在beacon shell中导入外部ps脚本到远程机器上
1 | powershell- /root/Desktop/PowerView.ps1 |
第二种方式:在beacon shell中直接执行powershell代码
1 | powerpick -NetGroup |
socks
为了让CS和msf互相间联通使用,在目标机器上开启socks4a代理。
[Beacon]–>[Pivoting]–>[SOCKS Server] 或者直接在beacon中执行socks post
第一种利用方式:利用各种socks代理客户端直接把各类渗透工具带进目标进网
1 |
|
第二种利用方式:直接利用隧道把整个msf带进目标内网
1 | # msfconsole |
SSH登陆
使用upload
和download
进行上传下载。也可以通过socks代理进行登陆。
权限提升
[Beacon]–>[access]–>[Elevate]
Cobalt Strike 内嵌了两个提权exp,ms14-058
是个老提权漏洞利用方式,可利用于Windows 7
系统。
uac-dll
是一种Bypass UAC攻击,是由本地管理员运行payload从中等权限往最高权限提升的过程,适用于windows 7
和windows 10
。
可以通过导入cna文件进行丰富漏洞库。项目地址为:ElevateKit
Spawn
可使用spawn功能孵化出n个shell,shell与shell之间相当于以一种级联的形式存在。
作用:将公网某团队服务器的beacon shell 派生到本地团队服务器指定的监听器上,或是派生到msf。
派生至本地团队服务器建立好监听器,返回到左边的公网团队服务器使用spawn功能,选择刚刚建立的监听器。
过一会儿就能看到shell被正常弹到本地团队服务器指定的监听器上。
派生至Meterpreter在公网团队服务器上创建一个外部foreign监听器(本地msf与CS使用的协议无比相同)
横向移动
首先,要决定用哪种方法来横向移动(当前环境需要高度完整的管理员权限才能完成正常操作)。
如果想使用token作用于某个Beacon,那就选中当前会话的Token框,
如果想使用证书或哈希来横向移动,就从凭证存储库中选择凭据或填充用户、密码和域等字段,Beacon会将此信息作为需要的令牌。
选择用于横向移动的Listener,通常这个会选择使用HTTPS。
最后选择Session,这选项只需要选择同个内网机器Session即可(已上线)。
PS:
Cobalt Strike的异步进攻模式要求每一次攻击都是以当前一个受损系统(已控)为跳板执行的。如果存在多台已控机器,则优先考虑Windows系统作为跳板机,且利用所有的凭证或哈希,攻击成功则会反馈在Beacon控制台中。
查看官方操作,与日常操作方式不太一样。
转发
通过红色区域(指已获取beacon shell的机器)做一个重定向到蓝色区域(没有取得控制权的目标机器)有漏洞的机器。
查看说明
1 | beacon> help rportfwd |
第一个参数为监听端口,第二个参数是转发主机和转发端口。注意:目标主机都会有防火墙拦截链接(弹框提示)。
becon shell 内置了端口转发功能,把本机的某个端口转发到公网(如3389)。
[Beacon]–>[Pivoting]–>[Listener]
接下来正常链接x.35
这台的2333端口即可。
在Beacon shell中建立一条新的监听规则。
1 | beacon> shell netstat -ano | findstr "7878" |
在Cobalt Strike当中新建一个Listener,内容如图所示:
上线的Listener选择新建的rportfwd-listener
即可。
黄金票据
使用域管理员权限伪造一张黄金票据是最常见的方法。
制作黄金票据的前提条件:
- 想要伪造票据的用户
- 为其创建票据的域名
- 域的SID(whomai /user)
- 域控制器上krbtgt用户的NTLM哈希值
PS:
首先要使用klist /purge
清除缓存的授权票据。
Malleable-C2
自从Cobalt Strike更新至3.6版本后,官方给出了一个Malleable-C2,也就是在启动团队服务器(服务端)的时候加载一些配置文件,这是一个非常棒的功能,可以帮助我们伪装流量、SSL加密通讯,达到隐匿的效果,值得一用。
1 | cd /opt/cobaltstrike/ |